ascii基础 getline
题目 字符串的反码
思路分析
emm还以为发现了什么不得了的新东西
只是这里定义的 并不存在这种反码
这里两个注意点
用getline读入 防止空格 getline
翻转使用一种映射的方式 先把字符映射成0~25 这样翻转直接就可以用25去减
ascii码的基本功
代码实现
#include<bits/stdc++.h>
using namespace std;
string s;
int main()
{
//用getline读入 防止有空格
while(getline(cin,s),s!="!"){
for(auto &chr:s){
if(chr>='a' && chr<='z')
//chr-'a' 将字符映射成0~25
//翻转就很简单了 用25减去这个映射的值 25-(chr-'a')
//记得还原回去25-(chr-'a')+'a'
chr=25-(chr-'a')+'a';
else if(chr>='A' && chr<='Z')
chr=25-(chr-'A')+'A';
}
cout<<s<<endl;
}
return 0;
}
同类题型
视频讲解
⬅️ next_permutation 🏠 00-刷题理模型 ➡️ getline
💬 评论